package com.baigt.jvm.bytecode;

/**
 * 类功能描述:
 *      方法重载是静态行为，是编译期行为；
 *      方法重写是动态行为，是运行期行为
 *      此例为重载
 * @author baigt
 * @version V1.0
 * @since 2019-11-07 21:36
 */
public class Invoker {
    public void test(Granpa t){
        System.out.println("granpa");
    }
    public void test(Father t){
        System.out.println("father");
    }
    public void test(Son t){
        System.out.println("son");
    }

    public static void main(String[] args) {
        Granpa g1=new Father();
        Granpa g2=new Son();
        Son s=new Son();
        Invoker invoker=new Invoker();
        invoker.test(g1);
        invoker.test(g2);
        invoker.test(s);

    }
}
class Granpa{}
class Father extends Granpa{}
class Son extends Father{}
